// 当前请求的次数
let ajksPage = 0;

export const request = (param) => {
    //判断url中是否带有/my/ 请求的是私有的路径 带上header token
    let header = {...param.header};
    if(param.url.includes("/my/")){
        // 拼接header 带上token
        header["Authorization"] = wx.getStorageSync("token");
    }

    //当有请求进入时，请求的次数加+
    ajksPage++;
    //显示加载效果
    wx.showLoading({
        title: '加载中',
    })
    return new Promise((resolve, reject) => {
        //设置公共部分
        const url = "https://api-hmugo-web.itheima.net/api/public/v1";
        wx.request({
            ...param,
            header:header,
            //合并url
            url: url + param.url,
            success: (result) => {
                resolve(result);
            },
            fail: (err) => {
                reject(err);
            },
            complete: ()=>{
                // 当一个请求结束时，请求的次数减1
                ajksPage--;
                // 当请求的次数为0时，关闭加载效果
                if(ajksPage === 0){
                    wx.hideLoading();
                }
            }
        });
    });
}

/**
 * Promise 形式的 小程序的微信支付
 * @param {object} pay 支付所必要的参数 
 * @returns  无
 */
export const requestPayment = (pay)=>{
    return new Promise((resolve, reject)=>{
        wx.requestPayment({
        ...pay,
        success: (result) => {
            resolve(result);
        },
        fail: (err) => {
            reject(err);
        }
        });   
    });    
}

export const getUserProfile = (data)=>{
    return new Promise((resolve, reject)=>{
        wx.getUserProfile({
            desc: '用于登录',
            ...data,
            success: (res) => {
                resolve(res);
            },
            fail:(err)=>{
                reject(err);
            }
          });
    });
}
  